/**
 * 
 */
package MediciADistanza.Boundary.user.SpecificUser;

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;

import MediciADistanza.Control.User.UtenteControl;

/**
 * Finestra principale dell'applicazione
 * 
 * <p>Semi Implementata</p>
 * 
 * @author Andrea Iann&igrave;
 *
 */
public class FinestraPrincipale extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = -1607407206197738658L;
	/**
	 * Interfaccia attualmente visualizzata
	 */
	protected JInternalFrame actualInterface;
	/**
	 * Control utente principale
	 */
	protected UtenteControl myControl;
	/**
	 * Frame alto dell'applicazione
	 */
	protected JPanel frameAlto;
	
	
	/**
	 * Crea un instanza della finestra principale dell'applicazione
	 * @param actualInterface		La prima interfaccia da visualizzare
	 * @param myControl				Control principale dell'utente
	 * @param title 				Titolo finestra principale
	 */
	public FinestraPrincipale(JInternalFrame actualInterface,
			UtenteControl myControl, String title)  {
		super(title);
		this.actualInterface = actualInterface;
		this.myControl = myControl;
		this.frameAlto = new JPanel();
		
		actualInterface.setSize(300, 300);
		actualInterface.setVisible(true);
		
		this.setSize(500, 400);
		this.getContentPane().add(BorderLayout.NORTH,frameAlto);
		this.getContentPane().add(BorderLayout.CENTER,actualInterface);
		
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}
	
	/**
	 * Cambia l'interfaccia attualmente visualizzata
	 * @param newIterface	Nuova interfaccia da visualizzare
	 */
	public void changeInterface(JInternalFrame newIterface){
		Dimension d = actualInterface.getSize();
		actualInterface.dispose();
		actualInterface = newIterface;
		actualInterface.setSize(d);
		actualInterface.setVisible(true);
		
		this.getContentPane().add(BorderLayout.CENTER,actualInterface);		
	}	
}
